<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>评论列表</title>
  <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css">
  <link rel="stylesheet" href="css/reset.css">
  <link rel="stylesheet" href="css/iconfont.css">
  <link rel="stylesheet" href="css/main.css">
  <script src="./libs/jquery-1.12.4.min.js"></script>
  <script src="./libs/template-web.js"></script>
  <!-- 导入分页导航插件 -->
  <script src="./libs/jquery.twbsPagination.js"></script>
</head>

<body>
  <div class="container-fluid">
    <div class="common_title">
      评论列表
    </div>
    <div class="container-fluid common_con">
      <table class="table table-striped table-bordered table-hover mp20">
        <thead>
          <tr>
            <th>作者</th>
            <th>评论</th>
            <th>评论在</th>
            <th>提交于</th>
            <th>状态</th>
            <th class="text-center" width="100">操作</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>小周</td>
            <td>这是一条测试评论，欢迎光临</td>
            <td>《世界，你好》</td>
            <td>2017-07-04 12:00:00</td>
            <td>已批准</td>
            <td class="text-center">
              <a href="javascript:void(0);;" class="btn btn-warning btn-xs">拒绝</a>
              <a href="javascript:void(0);;" class="btn btn-danger btn-xs">删除</a>
            </td>
          </tr>
          <tr class="danger">
            <td>小右</td>
            <td>你好啊，交个朋友好吗？</td>
            <td>《世界，你好》</td>
            <td>2017-07-06 14:10:00</td>
            <td>待审核</td>
            <td class="text-center">
              <a href="javascript:void(0);;" class="btn btn-info btn-xs">批准</a>
              <a href="javascript:void(0);;" class="btn btn-danger btn-xs">删除</a>
            </td>
          </tr>
          <tr class="danger">
            <td>老周</td>
            <td>不好</td>
            <td>《世界，你好》</td>
            <td>2017-07-09 22:22:00</td>
            <td>待审核</td>
            <td class="text-center">
              <a href="javascript:void(0);;" class="btn btn-info btn-xs">批准</a>
              <a href="javascript:void(0);;" class="btn btn-danger btn-xs">删除</a>
            </td>
          </tr>
          <tr class="danger">
            <td>中周</td>
            <td>How are you?</td>
            <td>《世界，你好》</td>
            <td>2017-07-09 18:22:00</td>
            <td>待审核</td>
            <td class="text-center">
              <a href="javascript:void(0);;" class="btn btn-info btn-xs">批准</a>
              <a href="javascript:void(0);;" class="btn btn-danger btn-xs">删除</a>
            </td>
          </tr>
          <tr>
            <td>小右</td>
            <td>I am fine thank you and you?</td>
            <td>《世界，你好》</td>
            <td>2017-07-11 22:22:00</td>
            <td>已批准</td>
            <td class="text-center">
              <a href="javascript:void(0);;" class="btn btn-warning btn-xs">拒绝</a>
              <a href="javascript:void(0);;" class="btn btn-danger btn-xs">删除</a>
            </td>
          </tr>
          <tr>
            <td>哈哈</td>
            <td>一针见血</td>
            <td>《世界，你好》</td>
            <td>2017-07-22 09:10:00</td>
            <td>已批准</td>
            <td class="text-center">
              <a href="javascript:void(0);;" class="btn btn-warning btn-xs">拒绝</a>
              <a href="javascript:void(0);;" class="btn btn-danger btn-xs">删除</a>
            </td>
          </tr>
          <tr>
            <td>武秀英</td>
            <td>外影广条同取水权科速工与。矿身面却属次养导务作者用品油调。高石期品极放存斗一号口消别共去。</td>
            <td>《世界，你好》</td>
            <td>1970-03-15 11:31:50</td>
            <td>已拒绝</td>
            <td class="text-center">
              <a href="javascript:void(0);;" class="btn btn-danger btn-xs">删除</a>
            </td>
          </tr>
          <tr>
            <td>胡娟</td>
            <td>采参什正面准观提干在易东统。走部系取团商机酸科往证和流物实则。入程用指学行利划影现清关织方。</td>
            <td>《第四篇示例文章》</td>
            <td>1970-03-23 14:16:57</td>
            <td>已拒绝</td>
            <td class="text-center">
              <a href="javascript:void(0);;" class="btn btn-danger btn-xs">删除</a>
            </td>
          </tr>
          <tr>
            <td>邵艳</td>
            <td>国新研目心思力品家织通还如周气长多。话它思造约众系压程它过去全。必导则达发前何西最老四关向。</td>
            <td>《第一篇示例文章》</td>
            <td>1970-04-19 12:34:27</td>
            <td>已拒绝</td>
            <td class="text-center">
              <a href="javascript:editTr( 'trashed',10 );" class="btn btn-danger btn-xs">删除</a>
            </td>
          </tr>
          <tr>
            <td>唐军</td>
            <td>好联律物联使进很们有严这里月之。实养件矿商除政究定划必火起划六。内百那则变次引持只情车各地织持。</td>
            <td>《第四篇示例文章》</td>
            <td>1970-04-24 11:22:29</td>
            <td>已批准</td>
            <td class="text-center">
              <a href="javascript:editTr( 'rejected',11 );" class="btn btn-warning btn-xs">拒绝</a>
              <a href="javascript:editTr( 'trashed',11 );" class="btn btn-danger btn-xs">删除</a>
            </td>
          </tr>
        </tbody>
      </table>
      <div class="row text-center">
        <!-- 分页导航容器 -->
        <ul id="pagination" class="pagination-sm"></ul>
      </div>

    </div>
  </div>
</body>

</html>
<script src="./libs/https.js"></script>
<!-- 准备评论列表模板 -->
<script type="text/html" id="tpl-comments">
  {{each data.data v}}
  {{if v.state == '待审核'}}
  <tr class="danger">
  {{else}}
  <tr>
  {{/if}}
    <td>{{v.author}}</td>
    <td>{{v.content}}</td>
    <td>《{{v.title}}》</td>
    <td>{{v.date}} {{v.time}}</td>
    <td>{{v.state}}</td>
    <td class="text-center">
      {{if v.state == '已通过'}}
      <a href="javascript:void(0);" class="btn btn-warning btn-xs btn-reject" data-id="{{v.id}}">拒绝</a>
      {{else if v.state == '待审核'}}
      <a href="javascript:void(0);" class="btn btn-success btn-xs btn-pass" data-id="{{v.id}}">批准</a>
      {{/if}}
      <a href="javascript:void(0);" class="btn btn-danger btn-xs btn-del" data-id="{{v.id}}">删除</a>
    </td>
  </tr>
  {{/each}}
</script>
<script>
  $(function(){
    // 1. 封装函数: 获得评论数据,渲染页面
    // page: 当前选中的页码
    let selPage = 1;// 声明全局变量,保存当前选中的页码
    function loadData(page) {
      // 2. 发起ajax请求
      $.ajax(
        {
          type:'get',
          url:BigNew.comment_list,
          data: {
            page: page,
            perpage: 5
          },
          success: function (backData) {
            if (backData.code == 200) {
              // 3. 结合模板与数据,渲染页面
              let htmlStr = template('tpl-comments',backData);
              $('tbody').html(htmlStr);

              // 4. 设置分页导航
              // 不好特点: 分页导航属性只有第一次设置有效
              // 每次设置之前,先摧毁原来的导航
              $('#pagination').twbsPagination('destroy');
              $('#pagination').twbsPagination(
                  {
                      // 总页数: 根据后台返回的文章数量来决定
                      totalPages: backData.data.totalPage,

                      // 当前可见页数,当前有几个数字按钮
                      visiblePages: 10,

                      // 当前被选中的页数
                      startPage: page,

                      // 关闭默认的初始点击事件
                      initiateStartPageClick: false,

                      // 修改分页导航的按钮文本
                      first: '首页',
                      last: '尾页',
                      next: '下一页',
                      prev: '上一页',

                      // 页码的点击事件
                      onPageClick: function (event, page) {
                          selPage = page;
                          // page: 当前被点击的页码,根据页码获得指定的文章数据
                          // 9.直接调用loadData函数,获得指定页码的数据加载结构
                          loadData(page);
                      }
                  }
              );
            }
          }
        }
      )
    }
    // 首次加载,第1页数据
    loadData(1);

    // 10. 观察接口文档,发现三个请求的方式以及参数都是一样
    // 封装函数,发起请求修改数据
    // target: 按钮的目标: 批准,拒绝,删除
    // dataid: 操作的评论id值
    function changeData(target, dataid) {
      // 11. 判断target,确定接口地址
      let url = '';
      if (target == '批准') {
        url = BigNew.comment_pass;
      } else if (target == '拒绝') {
        url = BigNew.comment_reject;
      } else {
        url = BigNew.comment_delete;
      }

      // 12. 发起ajax请求,修改数据
      $.ajax(
        {
          type:'post',
          url:url,
          data: {
            id: dataid
          },
          success: function (backData) {
            if (backData.code == 200) {
              // 13. 如果数据修改成功,什么情况下对页码没有影响
              // 只有删除最后一条数据才会有页码影响
              if (target == '批准' || target == '拒绝' || $('tbody tr').length > 1) {
                // 在哪一页修改,就加载哪一页
                loadData(selPage);
              } else {
                // 如果删除最后一条则应该加载上一页
                selPage = selPage-1;
                loadData(selPage);
              }
            }
          }
        }
      )
    }

    // 设置三个按钮的点击事件
    // 调用changeData,传入按钮文字,评论id
    $('tbody').on('click','a',function () {
      // 获得当前文字
      let text = $(this).text();
      // 获得评论的dataid
      let dataid = $(this).attr('data-id');
      // 调用函数
      changeData(text, dataid);
    })

  })
</script>

// 10. 观察接口文档,发现三个请求的方式以及参数都是一样
// 封装函数,发起请求修改数据
// target: 按钮的目标: 批准,拒绝,删除
// dataid: 操作的评论id值
function changeData(target, dataid) {
  // 11. 判断target,确定接口地址
  let url = '';
  if (target == '批准') {
    url = BigNew.comment_pass;
  } else if (target == '拒绝') {
    url = BigNew.comment_reject;
  } else {
    url = BigNew.comment_delete;
  }

  // 12. 发起ajax请求,修改数据
  $.ajax(
    {
      type:'post',
      url:url,
      data: {
        id: dataid
      },
      success: function (backData) {
        if (backData.code == 200) {
          // 13. 如果数据修改成功,什么情况下对页码没有影响
          // 只有删除最后一条数据才会有页码影响
          if (target == '批准' || target == '拒绝' || $('tbody tr').length > 1) {
            // 在哪一页修改,就加载哪一页
            loadData(selPage);
          } else {
            // 如果删除最后一条则应该加载上一页
            selPage = selPage-1;
            loadData(selPage);
          }
        }
      }
    }
  )
}

// 设置三个按钮的点击事件
// 调用changeData,传入按钮文字,评论id
$('tbody').on('click','a',function () {
  // 获得当前文字
  let text = $(this).text();
  // 获得评论的dataid
  let dataid = $(this).attr('data-id');
  // 调用函数
  changeData(text, dataid);
})




